Digital transmission of data requires a common time base for decoding the data. This determines when the data are valid in a receiver and can be sampled. If, in the case of message-oriented transmission, data packets are intended to be transmitted only upon request, the starting time for the transmission is required. This requires a further signal line if this information is not simultaneously encoded by means of the clock information. In embedded systems, this is achieved by means of a common system clock and selection lines which address data sources specifically.
In decentralized systems, multiwire buses are used, e.g. SPI (Serial Peripheral Interface), which is supported by many microcontrollers. In this case, the clock for the data transmission is sent on a separate line for the purpose of bit-synchronous data transmission. A selection line indicates the start and the end of the data transmission.
If the number of lines needs to be reduced for reasons of cost, the transmitter's clock and the starter of a transmission need to be encoded in the data to be transmitted themselves in order to allow reliable decoding in a receiver.
Economizing on external decoding hardware which needs to be used in addition to a microcontroller is an important cost factor which needs to be taken into account.
To save costs, SPC (Short PWM Code) systems are used, but these allow only very highly restricted bidirectional data transmission.
In some cases, systems are used in which a microcontroller is connected to a sensor by means of a line. The capabilities of such systems are so severely restricted, for reasons of cost, that only unidirectional data transmission is possible and only one sensor can be connected to a microcontroller by means of a line. If a plurality of sensors need to send data to the microcontroller, the microcontroller must either provide a further line to a further sensor or the line must be terminated with a gateway which can address a plurality of sensors via a plurality of lines.